// app.js
App({
  globalData: {
    userInfo: null,
    token: null,
    login:false,
    timer: null,      // 用于保存定时器的 ID  
    reupload_flag: 0, // 计时器状态  
    times: 0          // 计时的秒数  
  },

  /**
   * 当小程序初始化完成时，会触发 onLaunch（全局只触发一次）
   */


  startTimer: function() {  
    const that = this;  
    if (that.globalData.timer) {  
        clearInterval(that.globalData.timer); // 清除之前的定时器  
    }  
    that.globalData.reupload_flag = 1; // 更新状态  

    that.globalData.timer = setInterval(function() {  
        that.globalData.times += 1; // 每一秒增加 1  
        wx.setStorageSync('times', that.globalData.times); // 持久化  
        wx.setStorageSync('reupload_flag', that.globalData.reupload_flag); // 持久化  

        console.log("全局计时：", that.globalData.times);  

        if (that.globalData.times >= 180) { // 如果计时达到 180 秒  
            console.log("已经达到3min", that.globalData.times);  
            clearInterval(that.globalData.timer); // 清除定时器  
            that.globalData.timer = null; // 清空定时器ID  
            that.globalData.reupload_flag = 0; // 更新状态  
            wx.setStorageSync('reupload_flag', that.globalData.reupload_flag); // 更新存储  
            that.globalData.times = 0; // 重置计时  
            wx.setStorageSync('times', that.globalData.times); // 更新存储  
        }  
    }, 1000); // 每秒执行一次  
},  

  stopTimer: function() {  
      clearInterval(this.globalData.timer); // 清除定时器  
      this.globalData.timer = null;          // 清空定时器ID  

    
   
},
  onLaunch: function () {
    wx.cloud.init({
      env: 'cloud-nbiot',
      traceUser: true
    });

    // 尝试从本地存储中获取用户信息和 token
    const storedUserInfo = wx.getStorageSync('userInfo');
    const storedToken = wx.getStorageSync('token');
    if (storedUserInfo) {
      this.globalData.userInfo = storedUserInfo;
    }
    if (storedToken) {
      this.globalData.token = storedToken;
    }
  },

  /**
   * 当小程序启动，或从后台进入前台显示，会触发 onShow
   */
  onShow: function (options) {
    // 可以在这里进行一些页面的统计或者分析
  },

  /**
   * 当小程序从前台进入后台，会触发 onHide
   */
  onHide: function () {
    // 可以在这里进行一些保存数据的操作
  },

  /**
   * 当小程序发生脚本错误，或者 api 调用失败时，会触发 onError 并带上错误信息
   */
  onError: function (msg) {
    console.error("小程序发生错误：", msg);
  }
});
